package com.jzsec.sharding.strategy.utils;


import java.time.LocalDate;
import java.time.format.DateTimeFormatter;

public class DateFmtUtils {
    public static DateTimeFormatter yyyyMMdd = DateTimeFormatter.ofPattern("yyyyMMdd");
    public static DateTimeFormatter _yyyy_MM = DateTimeFormatter.ofPattern("_yyyy_MM");
    public static DateTimeFormatter _yyyyMM = DateTimeFormatter.ofPattern("_yyyyMM");
    public static DateTimeFormatter _yyyy = DateTimeFormatter.ofPattern("_yyyy");

    public static String getYyyy_MM(Integer yyyymmdd) {
        return _yyyy_MM.format(LocalDate.parse(yyyymmdd.toString(), yyyyMMdd));
    }

    public static String getYyyyMM(Integer yyyymmdd) {
        return _yyyyMM.format(LocalDate.parse(yyyymmdd.toString(), yyyyMMdd));
    }

    public static String getYyyy(Integer yyyymmdd) {
        return _yyyy.format(LocalDate.parse(yyyymmdd.toString(), yyyyMMdd));
    }

    public static LocalDate int2Date(Integer yyyymmdd) {
        return LocalDate.parse(yyyymmdd.toString(), yyyyMMdd);
    }

    public static Integer getNow() {
        return Integer.valueOf(yyyyMMdd.format(LocalDate.now()));
    }

    public static void main(String[] args) {
        Integer date = 20190101;
        System.out.println(DateFmtUtils.getYyyy_MM(date));
        System.out.println(DateFmtUtils.getYyyy(date));
        LocalDate localDate = LocalDate.parse(date.toString(), yyyyMMdd);
        localDate = localDate.plusMonths(1);
        localDate = localDate.plusYears(1);
        System.out.println(localDate);
    }
}
